package com.fbs.wowo.exception;

/**
 * 存储各种错误返回码
 */
public enum ErrorCode {

    /************************************
     *
     *
     * 错误码定义
     *
     *
     ************************************/

    // 通用
    ERR_ACCESS_REFUSE("403", "没有操作权限，请联系管理员"),
    ERR_UN_LOGIN("403", "未登录"),
    ERR_CREATE_FAILED("400", "创建数据失败"),
    ERR_DATA_OVERFLOW("400", "数据溢出"),
    ERR_DATA_HAS_EXIST("400", "数据已存在"),
    ERR_NULL_PARAM("400", "参数为空"),
    ERR_INPUT_INCORRECT("400", "输入错误"),
    ERR_NULL_DATA("400", "数据为空"),

    ERR_AUDIT_FAILURE("800", "审核失败"),
    ERR_SUBS_ALBUM("800", "不能订阅自己的专辑"),
    ERR_COLLECT_ESSAY("800", "不能收藏自己的图文"),
    ERR_FOLLOW_ONE("800", "不能关注自己"),
    ERR_SUBS_TO("801", "该专辑已订阅"),
    ERR_COLLECT_TO("801", "已收藏该图文"),
    ERR_FOLLOW_TO("801", "已关注该用户"),
    ERR_IDNUMBER_TO("801", "身份证号已存在"),
    ERR_CER_TOERR_CER_TO("801", "已实名认证"),
    ERR_NULL_ALBUM("802", "专辑不存在"),
    ERR_ESSAY_NULL("802", "图文数据不存在"),
    ERR_TEXT_TO("803", "该内容你已经提交过了"),
    ERR_ALBUM_TO_ESSAY("804", "专辑内有数据,请先删除数据在删除专辑"),
    ERR_CER_NULL("807", "未实名认证"),
    ERR_CER_ON("808", "实名认证中"),

    ERR_CREATE_QR("811", "创建二维码失败"),

    ERR_WX_PREAUTHCODE_NULL("900","preAuthCode为空"),
    ERR_WX_AAT_NULL("901","AuthorizerAccessToken为空"),
    ERR_NOTICE("902","notice返回信息解析失败"),
    ERR_TYPE_TICKET("903","类型不是ticket!"),
    ERR_ACCESS_TOKEN_NULL("904","返回access_token为空"),
    ERR_TICKET_NULL("905","ticket不存在"),
    ERR_POST("906","post请求失败"),
    ERR_AUTHCODE_NULL("907","authCode为空"),
    ERR_WXENTITY_NULL("908","微信公共对象不存在"),
    ERR_USER_NULL_BD("909","该用户尚未绑定公众号"),
    ERR_HAVE_AUTH("910","已绑定"),
    ERR_APPID_NULL("911","第三方appID为空"),
    ERR_USER_AUTH_NULL("912","授权用户信息不存在"),
    ERR_COOKIE_NULL("913","cookie不存在"),
    ERR_JSON_PARSING("914","json解析失败"),
    ERR_SEND_PACK("915","发送打包信息失败"),
    ERR_FILE_NULL("916","文件不存在"),

    ERR_PUSH_MESSAGE("7000","彩蛋消息推送失败"),
    ERR_ESSAY_ALREADY_ATTEST("7001","该作品已登记区块链"),
    ERR_ATTEST_EOS_ERROR("7002", "登记上链失败!"),


    // 账户
    ERR_USER_LOCK("1001","该用户已被锁定，请联系管理员获取登录权限"),
    ERR_USERNAME_EXIST("1002","用户名已存在，请重新设定名称"),
    ERR_USER_NOT_EXIST("1003", "用户不存在"),
    ERR_TEL_VERIFY_CODE("1004", "注册电话号码不存在或者验证码超时"),
    ERR_TEL_EXIST("1005", "该手机号码已经被注册"),
    ERR_INVITE_CODE("1006", "邀请码填写错误"),
    ERR_VERIFY_CODE("1007", "验证码输入错误！"),
    ERR_VERIFY_CODE_INVALID("1008", "验证码超时！"),
    ERR_VERIFY_CODE_SEND_TOO_MUCH("1009", "验证码发送过于频繁！"),

    // 好友
    ERR_NOT_FRIEND_YET("2001", "好友关系不存在"),
    ERR_HAS_BEEN_FRIEND("2002", "你们已经是好友了"),
    ERR_YOURSELF_SHIP("2003", "不能把自己作为好友操作"),
    ERR_CANNOT_VERIFY_RELATIONSHIP_YOURSELF("2004", "自己不能通过自己的好友请求"),

    // 群组
    ERR_OWNER_CANNOT_QUIT("2101", "群主不能退出群组"),
    ERR_NOT_IN_GROUP("2102", "非群组成员"),
    ERR_ONLY_OWNER_CAN_DO("2103", "只有群主才能执行此操作"),
    ERR_GROUP_NO_NAME("2104", "群名为空"),
    ERR_HAS_JOIN_GROUP("2105", "用户已经在群里了"),
    ERR_GROUP_NOT_EXIST("2106", "群组不存在"),

    // 融云
    ERR_RC_REG("2201", "融云：注册新用户失败"),
    ERR_RC_FRIEND_VERIFY("2202", "发送好友验证请求失败"),
    ERR_RC_UPDATE_USERINFO("2203", "刷新用户信息失败"),
    ERR_RC_CREATE_GROUP("2204", "创建群组失败"),
    ERR_RC_JOIN_GROUP("2205", "加入群组失败"),
    ERR_RC_QUIT_GROUP("2206", "退出群组失败"),
    ERR_RC_REMOVE_GROUP("2207", "解散群组失败"),
    ERR_RC_UPDATE_GROUP("2208", "刷新群组信息失败"),

    // 上传等操作
    ERR_UPLOAD("3001", "上传操作失败"),
    // 数据库、
    ERR_DB("3002", "数据库错误"),
    ERR_SMS("3003", "短信验证码错误"),

    // eos
    ERR_REMOTE_CONNECT("4001", "eos错误"),

    // 红包 转账
    ERR_RED_TWICE("5001", "红包不能重复领取两次"),
    ERR_RED_EMPTY("5002", "红包领取完了"),
    ERR_RED_FROM_ACCOUNT_NULL("5003", "发送账户不存在"),
    ERR_RED_TO_ACCOUNT_NULL("5004", "接收账户不存在"),
    ERR_ASSET_NOT_ENOUGH("5005", "账户余额不足"),
    ERR_ASSET_LOCK_NOT_ENOUGH("5006", "账户用于支出的余额不足"),
    ERR_ACCOUNT_NULL("5007", "账户不存在"),
    ERR_CERT_NULL("5008", "未实名认证"),
    ERR_PASS_NULL("5009", "未设置支付密码"),

    ERR_PAY_WX_NOTICE_SIGN("6001", "微信支付-异步通知-返回参数签名验证失败"),
    ERR_PAY_WX_TRADE_NO("6002", "微信支付-异步通知-返回订单号不存在"),
    ERR_PAY_WX_FEE("6003", "微信支付-异步通知-返回金额错误"),
    ERR_PAY_NO_TRADE("6004", "订单不存在"),
    ERR_PAY_WX_QUERY_SIGN("6005", "微信支付-查询订单-返回参数签名验证失败"),
    ERR_PAY_WX_QUERY_FEE("6006", "微信支付-查询订单-返回金额错误"),
    ERR_PAY_WX_ORDER("6007", "微信支付-统一下单"),
    ERR_PAY_WX_SUBMIT_ORDER("6008", "订单已支付"),
    ERR_PAY_WX_SIGN("6009", "微信支付-签名验证失败"),
    ERR_PAY_WX_BIND("6010", "未绑定微信账号"),

    ;

    private String status;
    private String msg;

    ErrorCode(String status, String msg) {
        this.status = status;
        this.msg = msg;
    }

    public String getStatus() {
        return status;
    }

    public String getMsg() {
        return msg;
    }
}
